home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / comm / net / AMarquee1_48.readme < prev    next >
Text File  |  1998-05-05  |  9KB  |  172 lines

  1. Short:    (68000 bugfix) TCP Data broadcast system (library & server)
  2. Author:   jfriesne@ucsd.edu (Jeremy Friesner)
  3. Uploader: jfriesne@ucsd.edu (Jeremy Friesner)
  4. Version:  1.48
  5. Type:     comm/net
  6. Replaces: comm/net/AMarquee1.47.lha
  7. Requires: Workbench 2.04+, Inet225 or AmiTCP3.0b+ or compatible TCP stack
  8.  
  9. ----------------------------------------------------------------
  10.  
  11.                           AMARQUEE v1.48
  12.  
  13.                         (Released 4/10/98)
  14.  
  15. ----------------------------------------------------------------
  16.  
  17.  
  18. The Problem: 
  19.  
  20.  You have a great idea for a killer multi-player Internet game 
  21.  or multi-user net app, but it's a total pain in the @)#$* to 
  22.  write all the TCP connection and data synchronization code 
  23.  you'll need to get it going.  So you put your idea on the 
  24.  back-burner and go play "Lemmings" instead.  And thus the 
  25.  Amiga is deprived of a fun Internet app.  D-oh!  :(
  26.  
  27. The Solution:  (well, okay, it's *a* solution, anyway)
  28.  
  29.  AMarquee is a system that handles all of the icky information 
  30.  distribution details for you, allowing you to concentrate on 
  31.  coding your application, rather than on which data goes into 
  32.  which socket when.  AMarquee consists of a shared library and
  33.  a TCP daemon, which work together to get your data where it
  34.  needs to be.  Your program calls simple amarquee.library
  35.  functions to broadcast your data, and waits on a provided
  36.  MsgPort for data from other hosts.  Easy!
  37.  
  38.  
  39. Features of amarquee.library (the shared library/API):
  40.  
  41.  - Programs written to use amarquee.library will work transparently
  42.    with Inet225, AmiTCP, Miami, or any other TCP stack that is 
  43.    "AmiTCP compatible".
  44.  - Has a simple API that requires no knowledge of multithreading 
  45.    techniques or socket programming to use.
  46.  - Each AMarquee connection you make automatically and transparently
  47.    starts a separate background execution thread, so your app will 
  48.    never have to block while data is sent or received.
  49.  - An arbitrary number of AMarquee connections may be active at once.
  50.  - Allows you to "subscribe" to data that interests you, so that
  51.    when the data on the server is changed you will be automatically 
  52.    notified.  You never need to poll for anything!
  53.  - An easy mechanism for sending messages to one or many other
  54.    AMarquee clients that are logged into the same server.
  55.  - Standard Amiga wildcarding is supported in all applicable functions.
  56.    This allows you to easily and succinctly refer to one host or data
  57.    item, or many, as appropriate.
  58.  - #includes for C, C++, and PCQ Pascal are included.
  59.  - ARexx accessible.  That is, ARexx scripts can use amarquee.library
  60.    for communications using the same API that compiled C programs do.
  61.  - Example programs in C, C++, Pascal, and ARexx are included.
  62.  - Operation is almost totally asynchronous for efficiency, but
  63.    several easy synchronization methods are available if you need them.
  64.  - Can also be used for direct client-to-client connections and
  65.    for making inetd-launched or manually-launched daemon programs.
  66.  - Automatically detects when the computer on the other end of
  67.    the AMarquee connection has crashed or been shut down, even 
  68.    on idle connections.
  69.  
  70. Features of AMarqueed (the AmiTCP server):
  71.  
  72.  - Works with Inet225, AmiTCP, Miami, or any other TCP stack 
  73.    that is "AmiTCP compatible".
  74.  - Fully multithreaded design, with one server process per connection.
  75.  - Re-entrant code, to minimize memory usage.
  76.  - Data is stored in a filesystem-like tree structure for simplicity,
  77.    flexibility and efficiency.  Each client gets its own "home directory"
  78.    that it may write to or read from, and each client may also
  79.    read from the "home directories" of other clients.
  80.  - Efficient design minimizes CPU usage, net bandwidth, and execution time.
  81.  - Limits may be put on memory usage, number of connections, and/or 
  82.    which clients or apps may connect.  Only serve the hosts and apps
  83.    you want to serve!
  84.  - Supports data streaming to one or many clients at once.
  85.  - Data streaming and synchronization features let you be sure your 
  86.    data was read by all interested hosts before you update it again.
  87.  - Automatically detects and eliminates "dead" connections (e.g.
  88.    if the client computer was shut down without quitting politely)
  89.  - Server may be administered remotely by clients with "privileged"
  90.    status.
  91.  
  92. WHAT'S NEW IN VERSION 1.48:
  93.  
  94. 1.48 : (Public Release 4/10/98) (amarquee.library v48)
  95.  * Both amarquee.library and AMarqueed could crash on 68000
  96.    or 68010 processors, as they didn't always keep their data
  97.    aligned to word boundaries.  Fixed.  (Thanks to Mike 
  98.    Constantine for his help with this!)
  99.  
  100. 1.47 : (Public Release 2/20/98) (amarquee.library v47)
  101.  - Added a QGOF_NOTIFY flag to QGo().
  102.  - Added the QDetachSession() and QReattachSession() functions to
  103.    amarquee.library.
  104.  - Added AMarqueeDebugMultiThreaded.c to the testPrograms
  105.    directory, as a test/demonstration of the new functions.
  106.  - Optimized the transport code somewhat, to cut down on the number
  107.    of memory allocations, and the amount of memory used.
  108.  - Added Session.h to the distribution.  Session.h contains a C++ 
  109.    "wrapper" class named Session, that represents a QSession in a nice
  110.    object-oriented manner.
  111.  - Added AMarqueeDebug.cpp to the Example Clients directory.
  112.  * Added the link to the QErrorName documentation that was
  113.    overlooked before in the API listing.
  114.  * Fixed the parsing of arguments in the ARexx version of QGo().
  115.  
  116.  
  117. ============================= Archive contents =============================
  118.  
  119. Original  Packed Ratio    Date     Time    Name
  120. -------- ------- ----- --------- --------  -------------
  121.     1233     595 51.7% 10-Apr-98 12:24:44  AMarquee.info
  122.   163550   46677 71.4% 10-Apr-98 12:24:46 +amarquee.guide
  123.     1542    1096 28.9% 10-Apr-98 12:24:46 +AMarquee.guide.info
  124.    33152   17522 47.1% 10-Apr-98 12:24:46 +amarquee.library
  125.    33228   17565 47.1% 10-Apr-98 12:24:46 +amarquee.library.inet225
  126.     5448    2461 54.8% 10-Apr-98 12:24:44 +AMarquee.readme
  127.      835     268 67.9% 10-Apr-98 12:24:44 +AMarquee.readme.info
  128.    40636   21468 47.1% 10-Apr-98 12:24:44 +AMarqueed
  129.    40668   21474 47.1% 10-Apr-98 12:24:44 +AMarqueed.inet225
  130.     4123    1604 61.0% 10-Apr-98 12:24:48 +EditTextFile.rexx
  131.    10976    6286 42.7% 10-Apr-98 12:24:50 +AMarqueeDebug
  132.     7166    2349 67.2% 10-Apr-98 12:24:48 +amarqueedebug.c
  133.     6753    2323 65.6% 10-Apr-98 12:24:50 +amarqueedebug.cpp
  134.     7085    2319 67.2% 10-Apr-98 12:24:52 +amarqueedebug.rexx
  135.    12920    7206 44.2% 10-Apr-98 12:24:50 +AMarqueeDebugMultiThread
  136.     9537    3191 66.5% 10-Apr-98 12:24:48 +AMarqueeDebugMultiThread.c
  137.     9200    5495 40.2% 10-Apr-98 12:24:50 +AMarqueeHost
  138.     4175    1563 62.5% 10-Apr-98 12:24:50 +amarqueehost.c
  139.     6380    2123 66.7% 10-Apr-98 12:24:48 +amarqueehost.rexx
  140.    11868    6923 41.6% 10-Apr-98 12:24:50 +AMarqueeServer
  141.     5307    1924 63.7% 10-Apr-98 12:24:50 +AMarqueeServer.c
  142.     7400    4731 36.0% 10-Apr-98 12:24:50 +BounceCount
  143.     2910    1167 59.8% 10-Apr-98 12:24:52 +BounceCount.c
  144.      522     275 47.3% 10-Apr-98 12:24:52 +dmakefile
  145.      494     262 46.9% 10-Apr-98 12:24:52 +dmakefile.bak
  146.     2439    1114 54.3% 10-Apr-98 12:24:48 +killclients.rexx
  147.    10408    6410 38.4% 10-Apr-98 12:24:50 +MiniIRC
  148.     6379    2171 65.9% 10-Apr-98 12:24:52 +MiniIRC.c
  149.     1139     502 55.9% 10-Apr-98 12:24:52 +PascalTest.p
  150.     6984    4444 36.3% 10-Apr-98 12:24:50 +RemoveTest
  151.     2546    1035 59.3% 10-Apr-98 12:24:52 +RemoveTest.c
  152.     9324    5734 38.5% 10-Apr-98 12:24:50 +SillyGame
  153.     8214    2586 68.5% 10-Apr-98 12:24:52 +SillyGame.c
  154.     7404    4711 36.3% 10-Apr-98 12:24:50 +StreamCheck
  155.     3132    1242 60.3% 10-Apr-98 12:24:52 +StreamCheck.c
  156.     7276    4628 36.3% 10-Apr-98 12:24:50 +StreamGen
  157.     2612    1090 58.2% 10-Apr-98 12:24:52 +streamgen.c
  158.     7456    4717 36.7% 10-Apr-98 12:24:50 +SyncTest
  159.     3250    1302 59.9% 10-Apr-98 12:24:52 +SyncTest.c
  160.     2658    1181 55.5% 10-Apr-98 12:24:48 +sysmessage.rexx
  161.     3437     878 74.4% 10-Apr-98 12:24:54 +AMarquee_protos.h
  162.     1313     449 65.8% 10-Apr-98 12:24:54 +amarquee.fd
  163.     4247    1725 59.3% 10-Apr-98 12:24:54 +AMarquee.h
  164.     1881     513 72.7% 10-Apr-98 12:24:54 +AMarquee_pragmas.h
  165.    10614    2704 74.5% 10-Apr-98 12:24:54 +Session.h
  166.    24116    5957 75.2% 10-Apr-98 12:24:48 +Install_AMarquee
  167.      612     329 46.2% 10-Apr-98 12:24:48 +Install_AMarquee.info
  168.     7307    2124 70.9% 10-Apr-98 12:24:54 +AMarquee.i
  169.     4232     602 85.7% 10-Apr-98 12:24:56 +AMarquee.lib
  170. -------- ------- ----- --------- --------
  171.   566088  237015 58.1% 12-Apr-98 01:21:08   49 files
  172.